package com.aw.baselib.util

import android.util.Log

/**
 * 日志
 * Created by hzw
 */
object AwLog {
    @JvmField
	var is_Loggable = false
    private var is_LogIn_File = false
    private const val Local_File_Size_Max = 10 // 单位MB
    private const val tag = "Awei"
    private const val log_file_name = "aweiappLog.txt"
    fun setDebug(isDebug: Boolean) {
        is_Loggable = isDebug
    }

    fun setLogFile(isLogFile: Boolean) {
        is_LogIn_File = isLogFile
    }

    private fun record(s: String) {
        AwLogFileUtil.instance?.writeFile(s)
    }

    fun i(msg: String?) {
        if (null == msg) {
            return
        }
        if (!is_Loggable) {
            return
        }
        Log.i(tag, msg)
        if (is_LogIn_File) {
            record(msg)
        }
    }

    fun withTime(msg: String?) {
        if (null == msg) return
        i(msg + " Time: " + Math.floor((System.currentTimeMillis() / 1000).toDouble()).toInt())
    }

    @JvmStatic
	fun d(msg: String?) {
        if (null == msg) return
        if (!is_Loggable) return
        Log.d(tag, msg)
        if (is_LogIn_File) record(msg)
    }

    fun e(msg: String?) {
        if (null == msg) return
        if (!is_Loggable) return
        Log.e(tag, msg)
        if (is_LogIn_File) record(msg)
    }

    fun v(msg: String?) {
        if (null == msg) return
        if (!is_Loggable) return
        Log.v(tag, msg)
        if (is_LogIn_File) record(msg)
    }

    fun w(msg: String?) {
        if (null == msg) return
        if (!is_Loggable) return
        Log.w(tag, msg)
        if (is_LogIn_File) record(msg)
    }

    fun i(tag1: String, msg: String?) {
        if (null == msg) return
        if (!is_Loggable) return
        Log.i(tag + tag1, msg)
        if (is_LogIn_File) record(msg)
    }

    @JvmStatic
	fun d(tag1: String, msg: String?) {
        if (null == msg) return
        if (!is_Loggable) return
        Log.d(tag + tag1, msg)
        if (is_LogIn_File) record(msg)
    }

    fun e(tag1: String, msg: String?) {
        if (null == msg) return
        if (!is_Loggable) return
        Log.e(tag + tag1, msg)
        if (is_LogIn_File) record(msg)
    }

    fun v(tag1: String, msg: String?) {
        if (null == msg) return
        if (!is_Loggable) return
        Log.v(tag + tag1, msg)
        if (is_LogIn_File) record(msg)
    }

    fun w(tag1: String, msg: String?) {
        if (null == msg) return
        if (!is_Loggable) return
        Log.w(tag + tag1, msg)
        if (is_LogIn_File) record(msg)
    }
}